package com.xiaofeng.pochi.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.xiaofeng.pochi.common.Page;
import com.xiaofeng.pochi.pojo.ShopCoupon;
import com.xiaofeng.pochi.pojo.ShopCouponHistory;
import com.xiaofeng.pochi.pojo.ShopPack;
import com.xiaofeng.pochi.pojo.dto.ShopCouponDto;

import java.util.List;

/**
 * Created with IntelliJ IDEA
 *
 * @Author: chc
 * @Date: 2022/08/18/23:29
 * @Description:
 */
public interface ShopCouponService extends IService<ShopCoupon> {

    /**
     * 添加优惠卷
     * */
    void save(ShopCouponDto shopCouponDto);

    /**
     * 删除
     * @param id
     */
    void delete(Long id);

    /**
     * 下架
     * @param id
     */
    void down(Long id);

    /**
     * 分页查询
     * @param page
     * @return
     */
    Page<ShopCoupon> getByPage(Page<ShopCoupon> page);


    /**
     * 查询指定商品允许使用的优惠券
     * @param productId
     * @return
     */
    List<ShopCoupon> getProductCoupon(Long productId);

    /**
     * 更新过期优惠券
     */
    void updateTimeoutCoupon();


    /**
     * 领取优惠券
     * @param shopCoupon
     */
    void catchCoupon(ShopCoupon shopCoupon);

    /**
     * 根据id查询
     * */
    ShopCoupon get(Long id);

    /**
     * 查询优惠券领取记录
     *
     * @param id
     * @return
     */
    List<ShopCouponHistory> getHistoryList(Long id);
}
